home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Educational Software Cooperative 4
/
Educational Software Cooperative 4.iso
/
life25
/
life.doc
< prev
next >
Wrap
Text File
|
1994-06-16
|
14KB
|
283 lines
The "Game" of Life
Copyright 1994
Castle Oaks Computer Services
Post Office Box 36082
Indianapolis, IN 46236-0082
The "Game" of Life is a computer simulation of a universe where the exist-
ence or non-existence of "life" follows certain prescribed rules. It was
developed by Prof. John H. Conway at the University of Cambridge, and it
was first written up by Martin Gardner in his October 1970 "Mathematical
Games" column in Scientific American. Although this simulation does not
depict any real life situation, it is still interesting to see how over- or
under-population affects succeeding generations according to the rules for
this environment.
This implementation is a freeware program. It is copyrighted by Castle
Oaks. You may distribute it freely. However, if you do, you must include
this documentation file in its entirety. The purposes of this program are
to introduce you to the "Game" of Life, to entertain you, and to advertise
other Castle Oaks products. The following lists several Castle Oaks pro-
ducts:
WORDFIND -
a system to help solve word puzzles. It consists of a vocabulary of over
100,000 words and a program to search that vocabulary for words that match
a template that the user specifies. Suppose that you have the clue "rid-
dles" and you know the second, fourth, and seventh letters are 'N', 'G',
and 'S' respectively. You then enter the template, ?N?G??S, and the pro-
gram returns these words that fit the template.
ENIGMAS KNIGHTS ONAGERS
Wordfind includes a special feature that is useful in solving cryptograms.
The wild cards '-', '+', and '=' are reserved to indicate duplicate but un-
known letters. Thus, the template, -+=+=B-???+, means to find all words
where the 1st and 7th letters are the same, the 2nd, 4th, and 11th letters
are the same, the 3rd and 5th letters are the same, and the 6th letter is a
'B'. WORDFIND will return "REMEMBRANCE" which is the only word that fits
that template.
Utilities are provided for modifying the vocabulary or for creating addi-
tional vocabularies. Also, three auxiliary vocabularies are available at a
cost of $15.00 per set. Set A has over 174,000 unusual words and words of
variant spellings. Set B has over 135,000 entries which consists of expres-
sions, all words in the old and new testaments, armament terms, and places
names. They are divided into seven subsets. Set C has over 167,000 entries
in subsets of Latin, German, Spanish, French, Italian, Jewish, and Literary
terms.
WORDFIND contains a feature called UNAGRAM which unscrambles anagrams.
Registration fee for WORDFIND is $15.00.
CROSSWORDS PUZZLE SOLVER -
This is a credit card size device that provides some of the same features
as WORDFIND. It is handy to carry with you when you do not have access to
your computer. This is a product of Franklin Electronic Publishers, Inc.
The suggested retail price is $49.95. You may order it from Castle Oaks for
$40.00 plus $5.00 shipping and handling.
CLUEFIND -
Similar to WORDFIND but the user builds his own vocabularies with clues
included with the words. Cost is $10.00.
TEXTFIND -
This program allows you to provide a template with known characters (even
non-alphabetic ones) and wild cards for unknown characters. Then using
this template, you may search any file (even executable ones) for character
strings that match the given template. TEXTFIND registration is $10.00.
HINTHUNT(TM) -
a program to generate word search puzzles. Great for teachers. Includes
options for simpler puzzles and the capability for the word list and puzzle
words to be different. Particularly useful for foreign language vocabulary
drills. Cost of HINTHUNT(TM) is $15.00.
TRAC/TRAP -
a tutorial on the machine and assembly languages of a pseudo computer.
This provides an introduction to these concepts. The package includes the
pseudo computer simulator and assembly programs; lessons in their use;
example TRAC and TRAP programs; and exercises with answers. Registration
fee for TRAC/TRAP is $10.00.
TO - FROM Utilities -
programs to convert files of 8-bit characters to files of 7-bit characters
and vice versa. If you ever need to upload a file to a host computer that
cannot accept 8-bit characters (for example, MCI Mail), this system will
allow you to do so. Also, some communication packages will only allow
ASCII characters (7-bit characters) to be transmitted. Perhaps you have a
spreadsheet or a database that you wish to upload to a host for repository
and for later downloading to your own or other computers. You can use
these utilities and the only penalty will be a slight increase in file size
(approximately 33%). Registration fee for the TO - FROM Utilities is
$10.00.
GAME PACKAGE -
TOWERS - This is a game and more. It is the Towers of Hanoi puzzle. In
this puzzle you have 3 towers; on one tower are disks of different
sizes. The object of this puzzle is to move all the disks, one at a
time, to another tower such that you never place a larger disk on top
of a smaller disk. With this package you can try to solve the puzzle;
you may watch the program give the minimum move solution; and the
package provides a selection of 5 screen savers.
CARD MATCH - A concentration type game. It uses a standard deck of
playing cards. These are to be matched in pairs. Three levels of play
are provided and you may play alone or against an opponent. Although
there are many games like this available, this one does not require an
advanced graphics card. It will run on CGA.
HURKLE - A game to find the "Hurkle" in a 15 x 15 grid.
The game package is freeware. It may be obtained for a shipping and han-
dling fee of $5.00.
You may obtain the latest copy of 'The "Game" of Life' by sending a ship-
ping and handling fee of $5.00 to Castle Oaks.
OTHER ARTICLES -
There have been several articles written about the "Game" of Life. Two
articles were published in the December 1978 issue of Byte magazine and
another one in the January 1979 issue of Byte magazine. The latter is only
of historical interest. That article explores methods of writing a program
to minimize the amount of memory required. In those days, personal
computers only had a few K of memory.
The other two article in Byte give a very good description of the simula-
tion and they analyze and name various starting patterns and what results
from those starting patterns. Included in this package are 14 starting
patterns that were described in those articles. Other patterns also were
described but I will leave it up to you to look up those patterns and/or
create patterns of your own. Later, I will describe the patterns included.
INTRODUCTION -
In most implementations, it is assumed that the environment of the simula-
tion is a two-dimensional plane that is infinite. This, of course, is not
practical. Due to computer limitations, there are edges to the plane. In
order to avoid that, this implementation uses the surface of a torus as the
environment. In this way, the environment is finite, but unbounded. Fur-
thermore, so that this program can be run on a minimal machine, CGA charac-
ter graphics are used.
On the screen, you will see a window that is 21 lines tall and 38 columns
wide. You must visualize the environment as having the top of the window
joined to the bottom of the window; and the right edge of the window joined
to the left edge of the window. In some simulations, you will see groups of
occupied cells leave one edge of the screen and re-appear at another edge
of the screen. Although the window is not very large, it is usally large
enough for most purposes.
RULES -
1. If a cell (occupied or not) has exactly 3 neighboring cells occupied,
then the given cell will be occupied in the next generation.
2. If a cell is occupied and has exactly 2 neighboring cells occupied, it
will remain occupied in the next generation.
3. If neither (1) nor (2) apply, the cell will not be occupied in the next
generation.
PATTERNS -
The "Game" of Life has been analyzed by various researchers and they have
published their finding of what happens with some starting patterns. In the
Byte article written by David J. Buckingham, he has described 5 classes of
objects.
Class I is still lifes. These are objects that do not change unless dis-
turbed by other objects.
Class II is oscillators. These are objects that after a number of genera-
tions return to their starting pattern. They may be rotated or inverted at
the end of a cycle.
Class III is spaceships. These objects move across the environment.
Class IV is uniform propigators. They are objects that move and may produce
other objects.
Class V is random. It is anything that does not fit one of the above class-
es.
SUPPLIED PATTERNS -
I have not includes any still life objects by themselves since I think you
will not find them very interesting. However, you are bound to stumble on
to some of these yourself.
A block and a beehive are both still lifes. The file BLCKBEEH illustrates
how a block can destroy a beehive.
The files 3EATER and 6EATER illustrate other still lifes that "eat" other
objects.
The files OSCPER5, PULSAR, TUMBLER, and PENTADEC are oscillators of various
periods.
A subclass of the oscillators are shuttles. BSCSHUTT and TWINBEES show
objects that shuttle back and forth while eaters cleanup debris.
Spaceships are depicted using the files: 3GLIDERS, SPACSHIP, and GLIDEGUN.
These are objects that keep moving. GLIDEGUN ejects a projectile.
The file SCHICK is of class IV. It is called a puffer train. Two spaceships
appear to be pulling another object. Another is SNWFLKS. A snowflake (3 in
this file) will generate a honey farm which is a group of 4 beehives.
INSTRUCTIONS -
When you run the program, some instructions will appear in a series of
screens to guide you through the process. The opening screen gives a brief
description of the rules and the environment.
The next screen asks you if you want to load a pattern from a file. If you
respond "yes", you will be asked for the name of the file to be loaded. If
the file is not in the currently logged directory, you must include the
path to that file. If the file cannot be found, the program will pause
until you press a key. It will then continue without loading a file.
Next, the program determines if you have a mouse. If you do not have a
mouse, you are advised of that and when you press any key, the program will
continue and you must position the cursor using the cursor keys. If you
have a mouse, you are given the option of using the keyboard or the mouse.
If you load a pattern from a file and do not intend to modify it, this
question can be answered either way.
After selecting either keyboard or mouse, a grid of cells will be displayed
and if you have loaded from a file, some of the cells will be occupied. At
this point, you can insert occupants into empty cells and erase occupants,
even if you loaded from a file. The method of doing this depends on which
option you chose. The upper border will display "Generation is 0".
If you chose the keyboard, you use the cursor keys to move the cursor to
any cell you desire. Pressing any key (except ESC) will enter a rectangle
in the selected cell. Repeat this procedure for all the cells you want
occupied. You can erase a rectangle by positioning the cursor on it and
pressing any key (except ESC). When you are done loading all the cells
you want occupied, press ESC to terminate entry mode.
If you chose the mouse, use the mouse to move the mouse cursor to any cell
you desire. Clicking the left mouse button will enter a rectangle in the
selected cell. Repeat this procedure for all the cells you want occupied.
You can erase a rectangle by positioning the cursor on it and clicking the
left mouse button. When you are done loading all the cells that you want
occupied, click the right mouse button to terminate entry mode.
After terminating the entry mode, you will be asked if you want to save the
starting pattern to a file. If you respond "yes", you will be prompted for
a file name. Include a path, if necessary. After responding "no" or giving
a file name, the screen will clear and the next generation will be dis-
played. (Note: If you wish to create or modify a starting pattern file, you
can do so with a text editor. Such files consist of 21 lines of 38 charac-
ters. Each line is terminated with a carriage return and line feed. Unoccu-
pied cells are denoted with a period. Occupied cells can contain any other
character. Although such editing is possible, it is unnecessary since
editing can be done within the program and the result saved.)
Pressing any key, except ESC or Q, will advance the display to the next
generation. The generation count in the top border will increment. If you
want the display to change rapidly, you can hold a key down and the display
will advance generation after generation. If your machine is too slow to
process each generation at the typeamatic speed, you will overflow the
keyboard buffer and the computer will beep at you. Just release the key
until the computer catches up.
When you have seen as many generations as you want to see, or if the dis-
play stabilizes, you can terminate by pressing either ESC or Q. The screen
will clear and you will be asked if you want to exit the program. If you
respond by pressing E, the program will terminate. If you press anything
else, the program will restart at the opening screen.